/**
 @description: 顶部历史菜单标签页store
 @author: macro
 @time: 2024/6/10 22:49
 */


/**
 * @description: 创建store
 * @param: id:store 的唯一标识符。它用于在 Pinia 应用中注册和查找特定的 store
 * @author: macro
 * @date: 2024/6/6 12:23
 */
//创建用户相关的小仓库
import {defineStore} from 'pinia';
import {useRouter} from "vue-router";


//创建用户小仓库
let useUserStore = defineStore('menuTabs', {
    //小仓库存储数据地方

    state: () => ({
        tabs: [] as any[],
    }),
    persist: true, // 启用持久化
    //异步|逻辑的地方
    actions: {
        // 初始化
        initTab() {
            this.tabs=[{name: "首页", path: "/home"}]
        },
        addTab(name: string, path: string) {
            //     判断tabs数组中是否有path
            let isExist = this.tabs.some((item: any) => {
                return item.path === path
            })
            if (!isExist) {
                this.tabs.push({name, path})
            }
        },
        removeByName(name: string){
            //根据菜单名称删除
            this.tabs = this.tabs.filter((item: any) => {
                return item.name !== name
            })

        }

    },
    getters: {}
})
//对外暴露获取小仓库方法
export default useUserStore;
